package com.ruoyi.pcj.mapper;

import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;
import java.util.Map;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Param;
import com.ruoyi.pcj.domain.PcjUserTarget;

/**
 * 用户-目标关系Mapper接口
 *
 * @author ms
 * @date 2024-03-11
 */
public interface PcjUserTargetMapper extends BaseMapper<PcjUserTarget> {

    /**
     * 自带的默认分页
     **/
    @Override
    <E extends IPage<PcjUserTarget>> E selectPage(E page, @Param("ew") Wrapper<PcjUserTarget> qw);


    /**
     * 查询用户-目标关系列表，自带的分页不满足时候，通过xml进行分页查询
     *
     * @param page   分页。
     * @param params 参数，在sql通过params.XXX即可，当然你也可以用实体类
     * @return
     */
    IPage<PcjUserTarget> list(Page page, @Param("params") Map<String, Object> params);


    List<PcjUserTarget> getUserTargetData(@Param("userId") Long userId);

    /**
     * 真实删除
     **/
    @Delete(" delete from pcj_user_target where user_id = #{userId} ")
    void realDeleteUserTarget(@Param("userId") Long userId);
}
